Location: BondGraph Basic @ 994dbbb88a76 / BG Tutorial Fluid Systems / 2-SingleBifurcation.cellml

Author:
Soroush <ssaf006@aucklanduni.ac.nz>
Date:
2021-04-08 15:18:19+12:00
Desc:
modified svg
Permanent Source URI:
https://models.fieldml.org/workspace/43b/rawfile/994dbbb88a761fe3a62bfaf8352da94103650bb2/BG Tutorial Fluid Systems/2-SingleBifurcation.cellml

<?xml version='1.0' encoding='UTF-8'?>
<model name="SingleBifurcation" xmlns="http://www.cellml.org/cellml/1.1#" xmlns:cellml="http://www.cellml.org/cellml/1.1#" xmlns:xlink="http://www.w3.org/1999/xlink">
    <import xlink:href="Units.cellml">
        <units name="m3" units_ref="m3"/>
        <units name="m3_per_s" units_ref="m3_per_s"/>
        <units name="m6_per_J" units_ref="m6_per_J"/>
        <units name="J_per_s" units_ref="J_per_s"/>
        <units name="J_per_m3" units_ref="J_per_m3"/>
        <units name="J_s_per_m3" units_ref="J_s_per_m3"/>
        <units name="J_s_per_m6" units_ref="J_s_per_m6"/>
        <units name="J_s2_per_m5" units_ref="J_s2_per_m5"/>
        <units name="J_s2_per_m6" units_ref="J_s2_per_m6"/>
    </import>
    <component name="main">
        <variable name="t" units="second"/>
        <variable initial_value="1.0" name="period" units="second"/>
        <!-- State variables-->
        <variable initial_value="0" name="q_in" units="m3"/>
        <variable initial_value="0" name="q_out1" units="m3"/>
        <variable initial_value="0" name="q_out2" units="m3"/>
        <variable initial_value="0" name="q_bif" units="m3"/>
        <variable name="q_d" units="m3"/>
        <variable initial_value="0" name="q1" units="m3"/>
        <variable initial_value="0" name="q2" units="m3"/>
        <variable initial_value="0" name="q3" units="m3"/>
        <variable name="v_in" units="m3_per_s"/>
        <variable initial_value="0" name="v1" units="m3_per_s"/>
        <variable initial_value="0" name="v2" units="m3_per_s"/>
        <variable initial_value="0" name="v3" units="m3_per_s"/>
        <variable initial_value="0" name="v4" units="m3_per_s"/>
        <variable initial_value="0" name="v5" units="m3_per_s"/>
        <variable name="u1" units="J_per_m3"/>
        <variable name="u2" units="J_per_m3"/>
        <variable name="u3" units="J_per_m3"/>
        <variable initial_value="0" name="u_out1" units="J_per_m3"/>
        <variable initial_value="0" name="u_out2" units="J_per_m3"/>
        <variable name="u_bif" units="J_per_m3"/>
        <!-- Constitutive parameters-->
        <variable initial_value="0.004" name="mu" units="J_s_per_m3"/>
        <variable initial_value="1050" name="rho" units="J_s2_per_m5"/>
        <variable initial_value="20.0e-3" name="l1" units="metre"/>
        <variable initial_value="20.0e-3" name="l2" units="metre"/>
        <variable initial_value="20.0e-3" name="l3" units="metre"/>
        <variable initial_value="2.3e-3" name="r1" units="metre"/>
        <variable initial_value="2.0e-3" name="r2" units="metre"/>
        <variable initial_value="1.5e-3" name="r3" units="metre"/>
        <variable initial_value="0.5e-3" name="h1" units="metre"/>
        <variable initial_value="0.5e-3" name="h2" units="metre"/>
        <variable initial_value="0.5e-3" name="h3" units="metre"/>
        <variable initial_value="0.4e+6" name="E1" units="J_per_m3"/>
        <variable initial_value="0.4e+6" name="E2" units="J_per_m3"/>
        <variable initial_value="0.4e+6" name="E3" units="J_per_m3"/>
        <variable name="C1" units="m6_per_J"/>
        <variable name="C2" units="m6_per_J"/>
        <variable name="C3" units="m6_per_J"/>
        <variable initial_value="1e-5" name="C_bif" units="m6_per_J"/>
        <variable name="R1" units="J_s_per_m6"/>
        <variable name="R2" units="J_s_per_m6"/>
        <variable name="R3" units="J_s_per_m6"/>
        <variable name="R4" units="J_s_per_m6"/>
        <variable name="R5" units="J_s_per_m6"/>
        <variable name="I1" units="J_s2_per_m6"/>
        <variable name="I2" units="J_s2_per_m6"/>
        <variable name="I3" units="J_s2_per_m6"/>
        <variable name="I4" units="J_s2_per_m6"/>
        <variable name="I5" units="J_s2_per_m6"/>
        <variable initial_value="20.0" name="a1" units="dimensionless"/>
        <variable initial_value="0.2" name="b1" units="dimensionless"/>
        <variable initial_value="0.08" name="c1" units="dimensionless"/>
        <!-- Inlet flow-->
        <math xmlns="http://www.w3.org/1998/Math/MathML">
            <apply>
                <eq/>
                <ci>v_in</ci>
                <apply>
                    <times/>
                    <ci>a1</ci>
                    <apply>
                        <exp/>
                        <apply>
                            <minus/>
                            <apply>
                                <power/>
                                <apply>
                                    <divide/>
                                    <apply>
                                        <minus/>
                                        <apply>
                                            <minus/>
                                            <ci>t</ci>
                                            <apply>
                                                <times/>
                                                <ci>period</ci>
                                                <apply>
                                                    <floor/>
                                                    <apply>
                                                        <divide/>
                                                        <ci>t</ci>
                                                        <ci>period</ci>
                                                    </apply>
                                                </apply>
                                            </apply>
                                        </apply>
                                        <ci>b1</ci>
                                    </apply>
                                    <ci>c1</ci>
                                </apply>
                                <cn cellml:units="dimensionless">2</cn>
                            </apply>
                        </apply>
                    </apply>
                </apply>
            </apply>
            <!-- Constitutive relations-->
            <apply>
                <eq/>
                <ci>C1</ci>
                <apply>
                    <divide/>
                    <apply>
                        <times/>
                        <cn cellml:units="dimensionless">3</cn>
                        <pi/>
                        <apply>
                            <power/>
                            <ci>r1</ci>
                            <cn cellml:units="dimensionless">3</cn>
                        </apply>
                        <ci>l1</ci>
                    </apply>
                    <apply>
                        <times/>
                        <cn cellml:units="dimensionless">2</cn>
                        <ci>E1</ci>
                        <ci>h1</ci>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>C2</ci>
                <apply>
                    <divide/>
                    <apply>
                        <times/>
                        <cn cellml:units="dimensionless">3</cn>
                        <pi/>
                        <apply>
                            <power/>
                            <ci>r2</ci>
                            <cn cellml:units="dimensionless">3</cn>
                        </apply>
                        <ci>l2</ci>
                    </apply>
                    <apply>
                        <times/>
                        <cn cellml:units="dimensionless">2</cn>
                        <ci>E2</ci>
                        <ci>h2</ci>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>C3</ci>
                <apply>
                    <divide/>
                    <apply>
                        <times/>
                        <cn cellml:units="dimensionless">3</cn>
                        <pi/>
                        <apply>
                            <power/>
                            <ci>r3</ci>
                            <cn cellml:units="dimensionless">3</cn>
                        </apply>
                        <ci>l3</ci>
                    </apply>
                    <apply>
                        <times/>
                        <cn cellml:units="dimensionless">2</cn>
                        <ci>E3</ci>
                        <ci>h3</ci>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>R1</ci>
                <apply>
                    <divide/>
                    <apply>
                        <times/>
                        <cn cellml:units="dimensionless">8</cn>
                        <ci>mu</ci>
                        <ci>l1</ci>
                    </apply>
                    <apply>
                        <times/>
                        <pi/>
                        <apply>
                            <power/>
                            <ci>r1</ci>
                            <cn cellml:units="dimensionless">4</cn>
                        </apply>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>R2</ci>
                <apply>
                    <divide/>
                    <apply>
                        <divide/>
                        <apply>
                            <times/>
                            <cn cellml:units="dimensionless">8</cn>
                            <ci>mu</ci>
                            <ci>l2</ci>
                        </apply>
                        <cn cellml:units="dimensionless">2</cn>
                    </apply>
                    <apply>
                        <times/>
                        <pi/>
                        <apply>
                            <power/>
                            <ci>r2</ci>
                            <cn cellml:units="dimensionless">4</cn>
                        </apply>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>R3</ci>
                <apply>
                    <divide/>
                    <apply>
                        <divide/>
                        <apply>
                            <times/>
                            <cn cellml:units="dimensionless">8</cn>
                            <ci>mu</ci>
                            <ci>l2</ci>
                        </apply>
                        <cn cellml:units="dimensionless">2</cn>
                    </apply>
                    <apply>
                        <times/>
                        <pi/>
                        <apply>
                            <power/>
                            <ci>r2</ci>
                            <cn cellml:units="dimensionless">4</cn>
                        </apply>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>R4</ci>
                <apply>
                    <divide/>
                    <apply>
                        <divide/>
                        <apply>
                            <times/>
                            <cn cellml:units="dimensionless">8</cn>
                            <ci>mu</ci>
                            <ci>l3</ci>
                        </apply>
                        <cn cellml:units="dimensionless">2</cn>
                    </apply>
                    <apply>
                        <times/>
                        <pi/>
                        <apply>
                            <power/>
                            <ci>r3</ci>
                            <cn cellml:units="dimensionless">4</cn>
                        </apply>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>R5</ci>
                <apply>
                    <divide/>
                    <apply>
                        <divide/>
                        <apply>
                            <times/>
                            <cn cellml:units="dimensionless">8</cn>
                            <ci>mu</ci>
                            <ci>l3</ci>
                        </apply>
                        <cn cellml:units="dimensionless">2</cn>
                    </apply>
                    <apply>
                        <times/>
                        <pi/>
                        <apply>
                            <power/>
                            <ci>r3</ci>
                            <cn cellml:units="dimensionless">4</cn>
                        </apply>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>I1</ci>
                <apply>
                    <divide/>
                    <apply>
                        <times/>
                        <ci>rho</ci>
                        <ci>l1</ci>
                    </apply>
                    <apply>
                        <times/>
                        <pi/>
                        <apply>
                            <power/>
                            <ci>r1</ci>
                            <cn cellml:units="dimensionless">2</cn>
                        </apply>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>I2</ci>
                <apply>
                    <divide/>
                    <apply>
                        <divide/>
                        <apply>
                            <times/>
                            <ci>rho</ci>
                            <ci>l2</ci>
                        </apply>
                        <cn cellml:units="dimensionless">2</cn>
                    </apply>
                    <apply>
                        <times/>
                        <pi/>
                        <apply>
                            <power/>
                            <ci>r2</ci>
                            <cn cellml:units="dimensionless">2</cn>
                        </apply>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>I3</ci>
                <apply>
                    <divide/>
                    <apply>
                        <divide/>
                        <apply>
                            <times/>
                            <ci>rho</ci>
                            <ci>l2</ci>
                        </apply>
                        <cn cellml:units="dimensionless">2</cn>
                    </apply>
                    <apply>
                        <times/>
                        <pi/>
                        <apply>
                            <power/>
                            <ci>r2</ci>
                            <cn cellml:units="dimensionless">2</cn>
                        </apply>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>I4</ci>
                <apply>
                    <divide/>
                    <apply>
                        <divide/>
                        <apply>
                            <times/>
                            <ci>rho</ci>
                            <ci>l3</ci>
                        </apply>
                        <cn cellml:units="dimensionless">2</cn>
                    </apply>
                    <apply>
                        <times/>
                        <pi/>
                        <apply>
                            <power/>
                            <ci>r3</ci>
                            <cn cellml:units="dimensionless">2</cn>
                        </apply>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>I5</ci>
                <apply>
                    <divide/>
                    <apply>
                        <divide/>
                        <apply>
                            <times/>
                            <ci>rho</ci>
                            <ci>l3</ci>
                        </apply>
                        <cn cellml:units="dimensionless">2</cn>
                    </apply>
                    <apply>
                        <times/>
                        <pi/>
                        <apply>
                            <power/>
                            <ci>r3</ci>
                            <cn cellml:units="dimensionless">2</cn>
                        </apply>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>u_bif</ci>
                <apply>
                    <divide/>
                    <ci>q_bif</ci>
                    <ci>C_bif</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>u1</ci>
                <apply>
                    <divide/>
                    <ci>q1</ci>
                    <ci>C1</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>u2</ci>
                <apply>
                    <divide/>
                    <ci>q2</ci>
                    <ci>C2</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>u3</ci>
                <apply>
                    <divide/>
                    <ci>q3</ci>
                    <ci>C3</ci>
                </apply>
            </apply>
            <!-- Conservation laws-->
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>q1</ci>
                </apply>
                <apply>
                    <minus/>
                    <ci>v_in</ci>
                    <ci>v1</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>q2</ci>
                </apply>
                <apply>
                    <minus/>
                    <ci>v2</ci>
                    <ci>v3</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>q3</ci>
                </apply>
                <apply>
                    <minus/>
                    <ci>v4</ci>
                    <ci>v5</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>q_bif</ci>
                </apply>
                <apply>
                    <minus/>
                    <apply>
                        <minus/>
                        <ci>v1</ci>
                        <ci>v2</ci>
                    </apply>
                    <ci>v4</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>v1</ci>
                </apply>
                <apply>
                    <divide/>
                    <apply>
                        <minus/>
                        <apply>
                            <minus/>
                            <ci>u1</ci>
                            <ci>u_bif</ci>
                        </apply>
                        <apply>
                            <times/>
                            <ci>R1</ci>
                            <ci>v1</ci>
                        </apply>
                    </apply>
                    <ci>I1</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>v2</ci>
                </apply>
                <apply>
                    <divide/>
                    <apply>
                        <minus/>
                        <apply>
                            <minus/>
                            <ci>u_bif</ci>
                            <ci>u2</ci>
                        </apply>
                        <apply>
                            <times/>
                            <ci>R2</ci>
                            <ci>v2</ci>
                        </apply>
                    </apply>
                    <ci>I2</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>v3</ci>
                </apply>
                <apply>
                    <divide/>
                    <apply>
                        <minus/>
                        <apply>
                            <minus/>
                            <ci>u2</ci>
                            <ci>u_out1</ci>
                        </apply>
                        <apply>
                            <times/>
                            <ci>R3</ci>
                            <ci>v3</ci>
                        </apply>
                    </apply>
                    <ci>I3</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>v4</ci>
                </apply>
                <apply>
                    <divide/>
                    <apply>
                        <minus/>
                        <apply>
                            <minus/>
                            <ci>u_bif</ci>
                            <ci>u3</ci>
                        </apply>
                        <apply>
                            <times/>
                            <ci>R4</ci>
                            <ci>v4</ci>
                        </apply>
                    </apply>
                    <ci>I4</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>v5</ci>
                </apply>
                <apply>
                    <divide/>
                    <apply>
                        <minus/>
                        <apply>
                            <minus/>
                            <ci>u3</ci>
                            <ci>u_out2</ci>
                        </apply>
                        <apply>
                            <times/>
                            <ci>R5</ci>
                            <ci>v5</ci>
                        </apply>
                    </apply>
                    <ci>I5</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>q_d</ci>
                <apply>
                    <minus/>
                    <apply>
                        <minus/>
                        <ci>q_in</ci>
                        <ci>q_out1</ci>
                    </apply>
                    <ci>q_out2</ci>
                </apply>
            </apply>
        </math>
    </component>
</model>